const fs = require("fs"),
    PNGReader = require("png.js"),
    path = require("path");



fs.readFile(path.resolve(__dirname, './out.png'), (err, buffer) => {
    var reader = new PNGReader(buffer)
    reader.parse(function (err, png) {
        let str = ''
        for (var y = 0; y < png.getHeight(); y += 5) {
            let row = ''
            for (var x = 0; x < png.getWidth(); x += 5) {
                const [r, g, b] = png.getPixel(x, y)
                if ((r + g + b) === 0) {
                    row += '0'
                } else {
                    row += '1'
                }

                console.log(r, g, b);
            }

            str += `${row}\n`
        }
        console.log(str);
    })
})


// fs.createReadStream()
//     .pipe(
//         new PNG({
//             filterType: 4,
//         })
//     )
//     .on("parsed", function (error, data) {
//         let col = ''
//         for (let y = 0; y < this.height; y++) {
//             for (let x = 0; x < this.width; x++) {
//                 console.log(PNG.getPixel());
//                 // var idx = (this.width * y + x) 
//                 // this.data[idx] = 255 - this.data[idx];
//                 // this.data[idx + 1] = 255 - this.data[idx + 1];
//                 // this.data[idx + 2] = 255 - this.data[idx + 2];
//                 // this.data[idx + 3] = this.data[idx + 3] >> 1;
//                 // const rgbaSum = this.data[idx] + this.data[idx + 1] + this.data[idx + 2] + this.data[idx + 3]
//                 // // console.log(this.data[idx], this.data[idx + 1], this.data[idx + 2], this.data[idx + 3]);
//                 // if (rgbaSum === 255 * 4) {
//                 //     row += '*'
//                 // } else {
//                 //     row += '-'
//                 // }
//                 console.log(idx);
//             }
//             // col += `${row}\n`
//         }

//     //    fs.writeFileSync('./out.md',col)
//     });